#ifndef __SYNAPSE_H__
#define __SYNAPSE_H__

#include "std_def.h"

class synapse
{
  public:
    synapse();
    synapse(const double&, const double&, const double&);
    synapse(const synapse&);
    virtual ~synapse();

  void setFSignal(double);
  void setBSignal(double);
  void setWeight(double);

  double getFSignal(void);
  double getBSignal(void);
  double getWeight(void);

  void setFSignalStudy(int, double);
  void setBSignalStudy(int, double);
  void setWeightBack(int, double);

  double getFSignalStudy(int);
  double getBSignalStudy(int);
  double getWeightBack(int);




  protected:
  double  f_signal;
  double  b_signal;
  double  weight;

  double  f_signal_study[MAX_STUDY_SIGNAL_BUFFER];
  double  b_signal_study[MAX_STUDY_SIGNAL_BUFFER];
  double  weight_back[MAX_STUDY_SIGNAL_BUFFER];

};


#endif //__SYNAPSE_H__
